#ifndef			__MESSAHE_HPP__
# define		__MESSAHE_HPP__
#include	"../Api Headers/IMessage.hpp"

namespace zia
{
	class Message : public api::IMessage
	{
	public:
		Message(api::IConnection& connection) ;
		virtual ~Message();

		virtual	void				setBody(const std::string &);
		virtual api::AStream*       newDataStream();
		virtual api::AStream*       newResourceStream(
											api::Resource resource,
											api::ResourceType type = api::RCE_SOCKET,
											api::FdCallback readingCallback = api::FdCallback(),
											api::FdCallback writingCallback = api::FdCallback()
										);
		virtual void                forceDeleteStream(api::AStream* stream);
		virtual api::IMessage*      newMessageAtStep(api::HttpStepID stepId, api::AStream& input);
		std::string					_body;
	};
}
#endif		/* __MESSAHE_HPP__ */